/*[UPGRADE 1.0.0.1]*/ Update REVISION SET REVISION = '1.2.0.0'; COMMIT; DELETE FROM TRANSLATION WHERE SCREEN = 'FEROXTERM' AND TABNR > 999; COMMIT; /***************************************************************************************/ /**** ****/ /**** Insert new values into translation all Languages ****/ /**** ****/ /***************************************************************************************/ SET TERM ^ ; Create Procedure Insert_Into_Translation(TABNR INTEGER,SCREEN VARCHAR(20), TEXT VARCHAR(100)) AS Declare Variable LANG Integer; Begin For Select Distinct Langid from Translation into :LANG do Begin Insert into Translation (LANGID,SCREEN,TABNR,TEXT,TEXT2) VALUES (:LANG,:SCREEN,:TABNR,:TEXT,null); End End ^ SET TERM ; ^ Execute Procedure Insert_Into_Translation(38,'EMPREPORT','Med datum i följd'); Execute Procedure Insert_Into_Translation(1000,'FEROXTERM','0'); Execute Procedure Insert_Into_Translation(1001,'FEROXTERM','1'); Execute Procedure Insert_Into_Translation(1002,'FEROXTERM','2'); Execute Procedure Insert_Into_Translation(1003,'FEROXTERM','3'); Execute Procedure Insert_Into_Translation(1004,'FEROXTERM','4'); Execute Procedure Insert_Into_Translation(1005,'FEROXTERM','5'); Execute Procedure Insert_Into_Translation(1006,'FEROXTERM','6'); Execute Procedure Insert_Into_Translation(1007,'FEROXTERM','7'); Execute Procedure Insert_Into_Translation(1008,'FEROXTERM','8'); Execute Procedure Insert_Into_Translation(1009,'FEROXTERM','9'); Execute Procedure Insert_Into_Translation(1010,'FEROXTERM','[Tryck på skärmen för att logga in]'); Execute Procedure Insert_Into_Translation(1011,'FEROXTERM','Ferox Tid Terminal'); Execute Procedure Insert_Into_Translation(1012,'FEROXTERM','Ange ditt ID nr:'); Execute Procedure Insert_Into_Translation(1013,'FEROXTERM','Logga in'); Execute Procedure Insert_Into_Translation(1014,'FEROXTERM','Stämplingshistorik'); Execute Procedure Insert_Into_Translation(1015,'FEROXTERM','C'); Execute Procedure Insert_Into_Translation(1016,'FEROXTERM','ID nummer finns ej'); Execute Procedure Insert_Into_Translation(1017,'FEROXTERM','Ange ett ID nummer'); Execute Procedure Insert_Into_Translation(1018,'FEROXTERM','Tillbaka'); Execute Procedure Insert_Into_Translation(1019,'FEROXTERM','Nästa sida'); Execute Procedure Insert_Into_Translation(1020,'FEROXTERM','Vecka'); Execute Procedure Insert_Into_Translation(1021,'FEROXTERM','Datum'); Execute Procedure Insert_Into_Translation(1022,'FEROXTERM','Dag'); Execute Procedure Insert_Into_Translation(1023,'FEROXTERM','IN tid'); Execute Procedure Insert_Into_Translation(1024,'FEROXTERM','UT tid'); Execute Procedure Insert_Into_Translation(1025,'FEROXTERM','Typ'); Execute Procedure Insert_Into_Translation(1026,'FEROXTERM','Kod'); Execute Procedure Insert_Into_Translation(1028,'FEROXTERM','Huvudmeny'); Execute Procedure Insert_Into_Translation(1029,'FEROXTERM','Registrering'); Execute Procedure Insert_Into_Translation(1030,'FEROXTERM','Stämplingshistorik'); Execute Procedure Insert_Into_Translation(1031,'FEROXTERM','Schema'); Execute Procedure Insert_Into_Translation(1032,'FEROXTERM','Närvarotablå'); Execute Procedure Insert_Into_Translation(1033,'FEROXTERM','Registrera kort'); Execute Procedure Insert_Into_Translation(1034,'FEROXTERM','Avsluta'); Execute Procedure Insert_Into_Translation(1035,'FEROXTERM','Mina uppgifter'); Execute Procedure Insert_Into_Translation(1036,'FEROXTERM','Personnummer:'); Execute Procedure Insert_Into_Translation(1037,'FEROXTERM','Namn:'); Execute Procedure Insert_Into_Translation(1038,'FEROXTERM','Kostnadsställe:'); Execute Procedure Insert_Into_Translation(1039,'FEROXTERM','Avtalsområde:'); Execute Procedure Insert_Into_Translation(1040,'FEROXTERM','Aktuell status:'); Execute Procedure Insert_Into_Translation(1041,'FEROXTERM','Frånvarokod'); Execute Procedure Insert_Into_Translation(1042,'FEROXTERM','Stämpla IN'); Execute Procedure Insert_Into_Translation(1043,'FEROXTERM','Stämpla UT'); Execute Procedure Insert_Into_Translation(1044,'FEROXTERM','Behörighetsnivå:'); Execute Procedure Insert_Into_Translation(1045,'FEROXTERM','Överordnande:'); Execute Procedure Insert_Into_Translation(1046,'FEROXTERM','Terminal offline'); Execute Procedure Insert_Into_Translation(1047,'FEROXTERM','Editera stämplingar'); Execute Procedure Insert_Into_Translation(1048,'FEROXTERM','Uppdaterar status...'); Execute Procedure Insert_Into_Translation(1049,'FEROXTERM','Editera'); Execute Procedure Insert_Into_Translation(1050,'FEROXTERM','Inne'); Execute Procedure Insert_Into_Translation(1051,'FEROXTERM','Inne (utanför schemalagd tid)'); Execute Procedure Insert_Into_Translation(1052,'FEROXTERM','Ute (under schemalagd tid)'); Execute Procedure Insert_Into_Translation(1053,'FEROXTERM','Ute'); Execute Procedure Insert_Into_Translation(1101,'FEROXTERM','Januari'); Execute Procedure Insert_Into_Translation(1102,'FEROXTERM','Februari'); Execute Procedure Insert_Into_Translation(1103,'FEROXTERM','Mars'); Execute Procedure Insert_Into_Translation(1104,'FEROXTERM','April'); Execute Procedure Insert_Into_Translation(1105,'FEROXTERM','Maj'); Execute Procedure Insert_Into_Translation(1106,'FEROXTERM','Juni'); Execute Procedure Insert_Into_Translation(1107,'FEROXTERM','Juli'); Execute Procedure Insert_Into_Translation(1108,'FEROXTERM','Augusti'); Execute Procedure Insert_Into_Translation(1109,'FEROXTERM','September'); Execute Procedure Insert_Into_Translation(1110,'FEROXTERM','Oktober'); Execute Procedure Insert_Into_Translation(1111,'FEROXTERM','November'); Execute Procedure Insert_Into_Translation(1112,'FEROXTERM','December'); Execute Procedure Insert_Into_Translation(0,'QR7550','QR7550 Enheter'); Execute Procedure Insert_Into_Translation(1,'QR7550','Lägg till enhet'); Execute Procedure Insert_Into_Translation(2,'QR7550','Kopiera vald enhet'); Execute Procedure Insert_Into_Translation(3,'QR7550','Radera vald enhet'); Execute Procedure Insert_Into_Translation(4,'QR7550','Översätt denna sida'); Execute Procedure Insert_Into_Translation(5,'QR7550','Läs stämplingar'); Execute Procedure Insert_Into_Translation(6,'QR7550','Visa historik'); Execute Procedure Insert_Into_Translation(7,'QR7550','Skapa inställningsfiler'); Execute Procedure Insert_Into_Translation(8,'QR7550','Sökväg till USB'); Execute Procedure Insert_Into_Translation(9,'QR7550','Sökväg'); Execute Procedure Insert_Into_Translation(10,'QR7550','Ny enhet'); Execute Procedure Insert_Into_Translation(11,'QR7550','Kopia av'); Execute Procedure Insert_Into_Translation(12,'QR7550','Skall kort knutna till denna terminal raderas?'); Execute Procedure Insert_Into_Translation(13,'QR7550','Radera kortnummer?'); Execute Procedure Insert_Into_Translation(14,'QR7550','Fel!'); Execute Procedure Insert_Into_Translation(15,'QR7550','Misslyckades med att lägga till enhet'); Execute Procedure Insert_Into_Translation(16,'QR7550','Misslyckades med att radera'); Execute Procedure Insert_Into_Translation(17,'QR7550','Misslyckades med att spara stämpling'); Execute Procedure Insert_Into_Translation(18,'QR7550','Katalogen finns inte'); Execute Procedure Insert_Into_Translation(19,'QR7550','Inga filer hittades på angiven sökväg'); Execute Procedure Insert_Into_Translation(20,'QR7550','Fil hittades med felaktigt enhetsnummer'); Execute Procedure Insert_Into_Translation(21,'QR7550','Misslyckades med att spara fil'); Execute Procedure Insert_Into_Translation(22,'QR7550','Spara ändringar'); Execute Procedure Insert_Into_Translation(23,'QR7550','Hämta inställningar från'); Execute Procedure Insert_Into_Translation(24,'QR7550','Aktiv'); Execute Procedure Insert_Into_Translation(25,'QR7550','Id'); Execute Procedure Insert_Into_Translation(26,'QR7550','Namn'); Execute Procedure Insert_Into_Translation(27,'QR7550','Enhetsnr.'); Execute Procedure Insert_Into_Translation(28,'QR7550','Beräkningsinställningar'); Execute Procedure Insert_Into_Translation(29,'QR7550','Löneperiod'); Execute Procedure Insert_Into_Translation(30,'QR7550','Månad'); Execute Procedure Insert_Into_Translation(31,'QR7550','Vecka'); Execute Procedure Insert_Into_Translation(32,'QR7550','14-dagar'); Execute Procedure Insert_Into_Translation(33,'QR7550','Dygnskifte'); Execute Procedure Insert_Into_Translation(34,'QR7550','Sommartid'); Execute Procedure Insert_Into_Translation(35,'QR7550','Start'); Execute Procedure Insert_Into_Translation(36,'QR7550','Slut'); Execute Procedure Insert_Into_Translation(37,'QR7550','Veckoprogram för relä'); Execute Procedure Insert_Into_Translation(38,'QR7550','Nr.'); Execute Procedure Insert_Into_Translation(39,'QR7550','Aktiv'); Execute Procedure Insert_Into_Translation(40,'QR7550','Dagar'); Execute Procedure Insert_Into_Translation(41,'QR7550','Måndag'); Execute Procedure Insert_Into_Translation(42,'QR7550','Tisdag'); Execute Procedure Insert_Into_Translation(43,'QR7550','Onsdag'); Execute Procedure Insert_Into_Translation(44,'QR7550','Torsdag'); Execute Procedure Insert_Into_Translation(45,'QR7550','Fredag'); Execute Procedure Insert_Into_Translation(46,'QR7550','Lördag'); Execute Procedure Insert_Into_Translation(47,'QR7550','Söndag'); Execute Procedure Insert_Into_Translation(48,'QR7550','Tid och relä'); Execute Procedure Insert_Into_Translation(49,'QR7550','Displayinställningar'); Execute Procedure Insert_Into_Translation(50,'QR7550','Displayformat'); Execute Procedure Insert_Into_Translation(51,'QR7550','24-timmar'); Execute Procedure Insert_Into_Translation(52,'QR7550','Am/Pm'); Execute Procedure Insert_Into_Translation(53,'QR7550','Utskriftsinställningar'); Execute Procedure Insert_Into_Translation(54,'QR7550','Utskriftsformat'); Execute Procedure Insert_Into_Translation(55,'QR7550','Utskriftstyp'); Execute Procedure Insert_Into_Translation(56,'QR7550','Decimalt'); Execute Procedure Insert_Into_Translation(57,'QR7550','Minuter'); Execute Procedure Insert_Into_Translation(58,'QR7550','Språk'); Execute Procedure Insert_Into_Translation(59,'QR7550','Relätider'); Execute Procedure Insert_Into_Translation(60,'QR7550','Engelska'); Execute Procedure Insert_Into_Translation(61,'QR7550','Spanska'); Execute Procedure Insert_Into_Translation(62,'QR7550','Tyska'); Execute Procedure Insert_Into_Translation(63,'QR7550','Franska'); Execute Procedure Insert_Into_Translation(64,'QR7550','Italienska'); Execute Procedure Insert_Into_Translation(65,'QR7550','Portugisiska'); Execute Procedure Insert_Into_Translation(66,'QR7550','Datum, 24-timmar, Minuter'); Execute Procedure Insert_Into_Translation(67,'QR7550','Veckodag, 24-timmar, Minuter'); Execute Procedure Insert_Into_Translation(68,'QR7550','24-timmar, Minuter, (Stor text)'); Execute Procedure Insert_Into_Translation(69,'QR7550','Am/Pm, 12-timmar, Minuter'); Execute Procedure Insert_Into_Translation(70,'QR7550','Datum, 12-timmar, Minuter, Am/Pm'); Execute Procedure Insert_Into_Translation(71,'QR7550','Veckodag, 12-timmar, Minuter, Am/Pm'); Execute Procedure Insert_Into_Translation(72,'QR7550','Udda'); Execute Procedure Insert_Into_Translation(73,'QR7550','Jämn'); Execute Procedure Insert_Into_Translation(74,'QR7550','Fel!'); Execute Procedure Insert_Into_Translation(75,'QR7550','Ett fel har uppstått vid sparning'); Execute Procedure Insert_Into_Translation(76,'QR7550','Ett fel har inträffat vid kopiering'); Execute Procedure Insert_Into_Translation(77,'QR7550','Det har gjorts ändringar'); Execute Procedure Insert_Into_Translation(78,'QR7550','Vill du spara?'); Execute Procedure Insert_Into_Translation(79,'QR7550','Fil'); Execute Procedure Insert_Into_Translation(80,'QR7550','Enhet'); Execute Procedure Insert_Into_Translation(81,'QR7550','Kortnummer'); Execute Procedure Insert_Into_Translation(82,'QR7550','Stämplingstid'); Execute Procedure Insert_Into_Translation(83,'QR7550','Typ'); Execute Procedure Insert_Into_Translation(84,'QR7550','Information'); Execute Procedure Insert_Into_Translation(400,'QR7550','Historik'); Execute Procedure Insert_Into_Translation(401,'QR7550','Läs stämplingar'); Execute Procedure Insert_Into_Translation(402,'QR7550','Visa'); Execute Procedure Insert_Into_Translation(403,'QR7550','Radera'); Execute Procedure Insert_Into_Translation(404,'QR7550','Radera alla'); Execute Procedure Insert_Into_Translation(405,'QR7550','Tid'); Execute Procedure Insert_Into_Translation(406,'QR7550','Namn'); Execute Procedure Insert_Into_Translation(407,'QR7550','Fel!'); Execute Procedure Insert_Into_Translation(408,'QR7550','Felaktigt enhetsnummer'); Execute Procedure Insert_Into_Translation(409,'QR7550','Misslyckades med att spara fil'); Execute Procedure Insert_Into_Translation(410,'QR7550','Misslyckades med att spara stämpling'); Execute Procedure Insert_Into_Translation(411,'QR7550','Misslyckades med att radera'); Execute Procedure Insert_Into_Translation(23,'CONTRACT','Översätt denna sida'); Execute Procedure Insert_Into_Translation(9,'MAINSCHEDULE','Kopiera valt schema till nytt schema'); Execute Procedure Insert_Into_Translation(20,'MAINSCHEDULE','Kopiera Schema'); Execute Procedure Insert_Into_Translation(21,'MAINSCHEDULE','Nytt Schemanamn'); Execute Procedure Insert_Into_Translation(22,'MAINSCHEDULE','Schemastart'); Execute Procedure Insert_Into_Translation(23,'MAINSCHEDULE','Schemaslut'); Execute Procedure Insert_Into_Translation(24,'MAINSCHEDULE','Källschema start'); Execute Procedure Insert_Into_Translation(25,'MAINSCHEDULE','Källschema slut'); Execute Procedure Insert_Into_Translation(26,'MAINSCHEDULE','OK'); Execute Procedure Insert_Into_Translation(27,'MAINSCHEDULE','Avbryt'); Execute Procedure Insert_Into_Translation(28,'MAINSCHEDULE','Nytt Schema'); Execute Procedure Insert_Into_Translation(29,'MAINSCHEDULE','Kopiera med andra källdatum'); COMMIT; SET TERM ^ ; Drop Procedure Insert_Into_Translation; ^ SET TERM ; ^ INSERT INTO RPRTNAMES (LANGID, TYPECODE, CODENR, NAME) VALUES (1,'E',5,'Period'); COMMIT; CREATE TABLE QR7550 ( IDREF INTEGER, DNR SMALLINT DEFAULT 1, STATUS SMALLINT DEFAULT 1, PP SMALLINT DEFAULT 1, PPD SMALLINT DEFAULT 31, DAT TIME DEFAULT '00:00:00', DH SMALLINT DEFAULT 2, LANG SMALLINT DEFAULT 1, PF SMALLINT DEFAULT 1, PM SMALLINT DEFAULT 1, NODST SMALLINT DEFAULT 0, DSTSTART DATE DEFAULT '2009-03-29', DSTEND DATE DEFAULT '2009-10-25', WP01 VARCHAR(10) DEFAULT '0000000000', WP02 VARCHAR(10) DEFAULT '0000000000', WP03 VARCHAR(10) DEFAULT '0000000000', WP04 VARCHAR(10) DEFAULT '0000000000', WP05 VARCHAR(10) DEFAULT '0000000000', WP06 VARCHAR(10) DEFAULT '0000000000', WP07 VARCHAR(10) DEFAULT '0000000000', WP08 VARCHAR(10) DEFAULT '0000000000', WP09 VARCHAR(10) DEFAULT '0000000000', WP10 VARCHAR(10) DEFAULT '0000000000', WP11 VARCHAR(10) DEFAULT '0000000000', WP12 VARCHAR(10) DEFAULT '0000000000', WP13 VARCHAR(10) DEFAULT '0000000000', WP14 VARCHAR(10) DEFAULT '0000000000', WP15 VARCHAR(10) DEFAULT '0000000000', WP16 VARCHAR(10) DEFAULT '0000000000', WP17 VARCHAR(10) DEFAULT '0000000000', WP18 VARCHAR(10) DEFAULT '0000000000', WP19 VARCHAR(10) DEFAULT '0000000000', WP20 VARCHAR(10) DEFAULT '0000000000', WP21 VARCHAR(10) DEFAULT '0000000000', WP22 VARCHAR(10) DEFAULT '0000000000', WP23 VARCHAR(10) DEFAULT '0000000000', WP24 VARCHAR(10) DEFAULT '0000000000', WP25 VARCHAR(10) DEFAULT '0000000000', WP26 VARCHAR(10) DEFAULT '0000000000', WP27 VARCHAR(10) DEFAULT '0000000000', WP28 VARCHAR(10) DEFAULT '0000000000', WP29 VARCHAR(10) DEFAULT '0000000000', WP30 VARCHAR(10) DEFAULT '0000000000', WP31 VARCHAR(10) DEFAULT '0000000000', WP32 VARCHAR(10) DEFAULT '0000000000', WP33 VARCHAR(10) DEFAULT '0000000000', WP34 VARCHAR(10) DEFAULT '0000000000', WP35 VARCHAR(10) DEFAULT '0000000000', WP36 VARCHAR(10) DEFAULT '0000000000', WP37 VARCHAR(10) DEFAULT '0000000000', WP38 VARCHAR(10) DEFAULT '0000000000', WP39 VARCHAR(10) DEFAULT '0000000000', WP40 VARCHAR(10) DEFAULT '0000000000', WP41 VARCHAR(10) DEFAULT '0000000000', WP42 VARCHAR(10) DEFAULT '0000000000', WP43 VARCHAR(10) DEFAULT '0000000000', WP44 VARCHAR(10) DEFAULT '0000000000', WP45 VARCHAR(10) DEFAULT '0000000000', WP46 VARCHAR(10) DEFAULT '0000000000', WP47 VARCHAR(10) DEFAULT '0000000000', WP48 VARCHAR(10) DEFAULT '0000000000', RTA SMALLINT DEFAULT 5, RTB SMALLINT DEFAULT 10, RTC SMALLINT DEFAULT 20, USB VARCHAR(100), /* Foreign keys */ CONSTRAINT QR7550_FK01 FOREIGN KEY (IDREF) REFERENCES TERMINALS(NR) ON DELETE NO ACTION ON UPDATE NO ACTION ); COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550 TO FCLIENT WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550 TO FCALC WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550 TO FPIP WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550 TO FCLOCK WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550 TO FTERM WITH GRANT OPTION; COMMIT; INSERT INTO QR7550 (IDREF) VALUES (0); COMMIT; SET TERM ^ ; ALTER PROCEDURE COPY_QR7550 ( COPYFROM INTEGER, COPYTO INTEGER) AS BEGIN DELETE FROM QR7550 WHERE "IDREF" = :COPYTO; INSERT INTO QR7550 ( IDREF, DNR, STATUS, PP, PPD, DAT, DH, LANG, PF, PM, NODST, DSTSTART, DSTEND, WP01, WP02, WP03, WP04, WP05, WP06, WP07, WP08, WP09, WP10, WP11, WP12, WP13, WP14, WP15, WP16, WP17, WP18, WP19, WP20, WP21, WP22, WP23, WP24, WP25, WP26, WP27, WP28, WP29, WP30, WP31, WP32, WP33, WP34, WP35, WP36, WP37, WP38, WP39, WP40, WP41, WP42, WP43, WP44, WP45, WP46, WP47, WP48, RTA, RTB, RTC ) SELECT :COPYTO, DNR, STATUS, PP, PPD, DAT, DH, LANG, PF, PM, NODST, DSTSTART, DSTEND, WP01, WP02, WP03, WP04, WP05, WP06, WP07, WP08, WP09, WP10, WP11, WP12, WP13, WP14, WP15, WP16, WP17, WP18, WP19, WP20, WP21, WP22, WP23, WP24, WP25, WP26, WP27, WP28, WP29, WP30, WP31, WP32, WP33, WP34, WP35, WP36, WP37, WP38, WP39, WP40, WP41, WP42, WP43, WP44, WP45, WP46, WP47, WP48, RTA, RTB, RTC FROM QR7550 WHERE "IDREF" = :COPYFROM; END^ SET TERM ; ^ COMMIT; GRANT EXECUTE ON PROCEDURE COPY_QR7550 TO FCLIENT WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE COPY_QR7550 TO FCALC WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE COPY_QR7550 TO FPIP WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE COPY_QR7550 TO FCLOCK WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE COPY_QR7550 TO FTERM WITH GRANT OPTION; COMMIT; SET TERM ^ ; ALTER PROCEDURE COPY_TERMINAL ( IDREF INTEGER, NAME VARCHAR(20), TERM_TYPE SMALLINT) RETURNS ( IDNR INTEGER) AS DECLARE VARIABLE TEMP INTEGER; BEGIN SELECT IDNR FROM CREATE_NEW_TERMINAL(:NAME, :TERM_TYPE) INTO :IDNR; IF (TERM_TYPE = 0 AND IDNR > 0) THEN BEGIN EXECUTE PROCEDURE COPY_ALL_SETTINGS(:IDREF, :IDNR); END IF (TERM_TYPE = 1 AND IDNR > 0) THEN BEGIN EXECUTE PROCEDURE COPY_QR7550(:IDREF, :IDNR); END SUSPEND; END^ SET TERM ; ^ COMMIT; SET TERM ^ ; ALTER PROCEDURE DELETE_TERMINAL ( IDNR INTEGER, DELETEBADGES INTEGER) RETURNS ( RES INTEGER) AS BEGIN /* Procedure text */ if(DELETEBADGES = 1) then begin /* Delete badges from employee with badges only connected to this terminal */ DELETE from CARDNUMBERS where TERMINALID = :IDNR; end /* Delete All automatic Instructions */ Delete from SYNELINSTR where TERMID = :IDNR; /* Delete From Log */ DELETE from SYNLOG where TERMID = :IDNR; Delete from SYNELTERMINALS where IDREF = :IDNR; Delete from FEROXTERM_COMM where IDREF = :IDNR; EXECUTE PROCEDURE DELETE_ALL_FILES(:IDNR); Delete from FEROXTERM_GEN where IDREF = :IDNR; Delete from FEROXTERM_HISTORY where IDREF = :IDNR; Delete from FEROXTERM_IDENT where IDREF = :IDNR; Delete from FEROXTERM_INFO where IDREF = :IDNR; Delete from FEROXTERM_LEDGER where IDREF = :IDNR; Delete from FEROXTERM_REG where IDREF = :IDNR; Delete from FEROXTERM_SYNC where IDREF = :IDNR; Delete from FEROXTERM where IDREF = :IDNR; Delete from QR7550 where IDREF = :IDNR; Delete from TERMINALS where NR = :IDNR; if(ROW_COUNT <= 0) then begin RES = -1; Suspend; exit; end RES = 0; Suspend; END^ SET TERM ; ^ /* Comment for parameter (IDNR) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'IDNR of Terminal' WHERE (RDB$PROCEDURE_NAME = 'DELETE_TERMINAL') and (RDB$PARAMETER_NAME = 'IDNR'); COMMIT; /* Comment for parameter (DELETEBADGES) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = '0 - No 1 - Yes delete badges connected to this terminal' WHERE (RDB$PROCEDURE_NAME = 'DELETE_TERMINAL') and (RDB$PARAMETER_NAME = 'DELETEBADGES'); COMMIT; /* Comment for parameter (RES) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = '-1 Failed 0 OK' WHERE (RDB$PROCEDURE_NAME = 'DELETE_TERMINAL') and (RDB$PARAMETER_NAME = 'RES'); COMMIT; CREATE TABLE QR7550_HISTORY ( ID INTEGER NOT NULL, HIST_NAME VARCHAR(10), HIST_TIME TIMESTAMP, HIST_FILE BLOB SUB_TYPE BINARY SEGMENT SIZE 20, /* Keys */ CONSTRAINT PK_QR7550_HISTORY PRIMARY KEY (ID) ); COMMIT; SET TERM ^ ; CREATE TRIGGER QR7550_HISTORY_BI FOR QR7550_HISTORY ACTIVE BEFORE INSERT POSITION 0 AS DECLARE VARIABLE max_val INTEGER; BEGIN IF (NEW.ID is NULL) THEN BEGIN SELECT MAX(ID) FROM QR7550_HISTORY INTO :max_val; IF (max_val IS NULL) THEN BEGIN max_val = 0; END NEW.ID = max_val + 1; END END^ SET TERM ; ^ COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550_HISTORY TO FCLIENT WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550_HISTORY TO FCALC WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550_HISTORY TO FPIP WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550_HISTORY TO FCLOCK WITH GRANT OPTION; COMMIT; GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TABLE QR7550_HISTORY TO FTERM WITH GRANT OPTION; COMMIT; /***************************************************************************************/ /**** ****/ /**** New Procedure for Copy Main Schedules ****/ /**** ****/ /***************************************************************************************/ SET TERM ^ ; CREATE PROCEDURE SCHEDULE_COPY ( SOURCENR INTEGER, SOURCEFROM VARCHAR(10), SOURCETO VARCHAR(10), TARGETNR INTEGER, TARGETFROM VARCHAR(10), TARGETTO VARCHAR(10)) RETURNS ( DAYSCOPIED INTEGER) AS DECLARE VARIABLE SHIFT INTEGER; DECLARE VARIABLE PASS INTEGER; DECLARE VARIABLE T_DATE DATE; DECLARE VARIABLE Y INTEGER; DECLARE VARIABLE M INTEGER; DECLARE VARIABLE D INTEGER; DECLARE VARIABLE SOURCEDATE VARCHAR(10); BEGIN DAYSCOPIED = 0; SOURCEDATE = SOURCEFROM; /* Copy From Source schedule to target schedule */ /* Do a loop from targetFrom until targetTo is reached*/ while(TARGETFROM <= TARGETTO) do begin /* Get Source */ For select FIRST(1) SHIFT_REF, PASS_REF from SCHEDULES_DATE where SCH_DATE = :SOURCEDATE and SHEDULE_REF = :SOURCENR into :SHIFT, :PASS do begin /* We have a shift or a pass to insert */ INSERT INTO SCHEDULES_DATE (SHEDULE_REF,SCH_DATE,SHIFT_REF,PASS_REF) VALUES (:TARGETNR,:TARGETFROM,:SHIFT,:PASS); if(ROW_COUNT > 0) then DAYSCOPIED = DAYSCOPIED +1; end /* Increase SourceDate with one day*/ T_DATE = CAST(SOURCEDATE AS DATE); /* Add one day */ T_DATE = T_DATE +1; Y = EXTRACT(YEAR FROM T_DATE); M = EXTRACT(MONTH FROM T_DATE); D = EXTRACT(DAY FROM T_DATE); SOURCEDATE = Y || '-'; if(M<10) then SOURCEDATE = SOURCEDATE || '0' || M || '-'; if(M>9) then SOURCEDATE = SOURCEDATE || M || '-'; if(D<10) then SOURCEDATE = SOURCEDATE || '0' || D; if(D>9) then SOURCEDATE = SOURCEDATE || D; /* Check if sourcefrom is bigger than sourceto */ if(SOURCEDATE > SOURCETO) then SOURCEDATE = SOURCEFROM; /* Increase TARGETFROM with one day by cast it as date, add a day and put it back to TARGETFROM */ T_DATE = CAST(TARGETFROM AS DATE); /* Add one day */ T_DATE = T_DATE +1; Y = EXTRACT(YEAR FROM T_DATE); M = EXTRACT(MONTH FROM T_DATE); D = EXTRACT(DAY FROM T_DATE); TARGETFROM = Y || '-'; if(M<10) then TARGETFROM = TARGETFROM || '0' || M || '-'; if(M>9) then TARGETFROM = TARGETFROM || M || '-'; if(D<10) then TARGETFROM = TARGETFROM || '0' || D; if(D>9) then TARGETFROM = TARGETFROM || D; end /* while loop */ suspend; END^ SET TERM ; ^ /* Comment for parameter (SOURCENR) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Nr of Source Schedule' WHERE (RDB$PROCEDURE_NAME = 'SCHEDULE_COPY') and (RDB$PARAMETER_NAME = 'SOURCENR'); /* Comment for parameter (SOURCEFROM) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Date in ''YYYY-MM-DD''' WHERE (RDB$PROCEDURE_NAME = 'SCHEDULE_COPY') and (RDB$PARAMETER_NAME = 'SOURCEFROM'); /* Comment for parameter (SOURCETO) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Date in format YYYY-MM-DD' WHERE (RDB$PROCEDURE_NAME = 'SCHEDULE_COPY') and (RDB$PARAMETER_NAME = 'SOURCETO'); /* Comment for parameter (TARGETNR) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Nr of Target Schedule' WHERE (RDB$PROCEDURE_NAME = 'SCHEDULE_COPY') and (RDB$PARAMETER_NAME = 'TARGETNR'); /* Comment for parameter (TARGETFROM) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Date in Format YYYY-MM-DD' WHERE (RDB$PROCEDURE_NAME = 'SCHEDULE_COPY') and (RDB$PARAMETER_NAME = 'TARGETFROM'); /* Comment for parameter (TARGETTO) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Date in Format YYYY-MM-DD' WHERE (RDB$PROCEDURE_NAME = 'SCHEDULE_COPY') and (RDB$PARAMETER_NAME = 'TARGETTO'); /* Comment for parameter (DAYSCOPIED) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Nr of Days Copied' WHERE (RDB$PROCEDURE_NAME = 'SCHEDULE_COPY') and (RDB$PARAMETER_NAME = 'DAYSCOPIED'); COMMIT; GRANT EXECUTE ON PROCEDURE SCHEDULE_COPY TO FCALC WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE SCHEDULE_COPY TO FCLIENT WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE SCHEDULE_COPY TO FCLOCK WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE SCHEDULE_COPY TO FPIP WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE SCHEDULE_COPY TO FTERM WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE SCHEDULE_COPY TO PUBLIC WITH GRANT OPTION; COMMIT; GRANT EXECUTE ON PROCEDURE SCHEDULE_COPY TO "ADMIN" WITH GRANT OPTION; COMMIT; /***************************************************************************************/ /**** ****/ /**** Change of Procedure INSERT_SYNLOG (Bugfix) ****/ /**** ****/ /***************************************************************************************/ SET TERM ^ ; ALTER PROCEDURE INSERT_SYNLOG ( TERMID INTEGER, FTERM INTEGER, PDATE VARCHAR(10), PTIME VARCHAR(8), INSTR INTEGER, ERRNO INTEGER, DELHIST INTEGER, INFO VARCHAR(20)) RETURNS ( RES INTEGER) AS DECLARE VARIABLE FTERMTMP INTEGER; DECLARE VARIABLE PDATETMP VARCHAR(10); DECLARE VARIABLE PTIMETMP VARCHAR(8); DECLARE VARIABLE INSTRTMP INTEGER; BEGIN RES=0; Insert into SYNLOG (TERMID,FTERM,PDATE, PTIME,INSTRNR,ERRNO,INFOTXT) VALUES (:TERMID,:FTERM,:PDATE, :PTIME,:INSTR,:ERRNO,:INFO); if(ROW_COUNT < 1) then RES=-1; if(:DELHIST = 0) then begin suspend; exit; end For Select skip(:DELHIST) FTERM,PDATE,PTIME,INSTRNR from SYNLOG where TERMID = :TERMID order by PDATE DESC, PTIME DESC into :FTERMTMP,:PDATETMP,:PTIMETMP,:INSTRTMP do begin Delete from SYNLOG where FTERM = :FTERMTMP and PDATE = :PDATETMP and PTIME = :PTIMETMP and INSTRNR = :INSTRTMP; end Suspend; END^ SET TERM ; ^ /* Comment for parameter (TERMID) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Number of Terminal' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'TERMID'); /* Comment for parameter (FTERM) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Number of FTERM ID' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'FTERM'); /* Comment for parameter (PDATE) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'YYYY-MM-DD' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'PDATE'); /* Comment for parameter (PTIME) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'HH:MM:SS' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'PTIME'); /* Comment for parameter (INSTR) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Number of Instruction, See Synlog' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'INSTR'); /* Comment for parameter (ERRNO) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Error Nr, See Synlog' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'ERRNO'); /* Comment for parameter (DELHIST) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = ' 0 - Don''t delete Hist > 0 - Save DELHIST records, delete rest' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'DELHIST'); /* Comment for parameter (INFO) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = 'Info text used in same cases' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'INFO'); /* Comment for parameter (RES) */ UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = ' 0 Log inserted -1 Failed to insert log' WHERE (RDB$PROCEDURE_NAME = 'INSERT_SYNLOG') and (RDB$PARAMETER_NAME = 'RES'); COMMIT; /***************************************************************************************/ /**** ****/ /**** Adding missed time as Timeband ****/ /**** ****/ /***************************************************************************************/ UPDATE SYSTEM_TIMES SET DESCR = 'Missed Time', TYPE=0 where NR = 23; COMMIT; UPDATE TRANSLATION SET TEXT='Saknad Tid' where SCREEN = 'TCLS2' and TABNR = 123; COMMIT;